package com.shimakaze.reggie.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.shimakaze.reggie.dto.SetmealDto;
import com.shimakaze.reggie.entity.Setmeal;

import java.util.List;

public interface SetmealService extends IService<Setmeal> {
    /**
     * 新增套餐，同时保存套餐和菜品的关联信息
     * @param setmealDto
     */
    public void saveWithDish(SetmealDto setmealDto);

    /**
     * 批量修改套餐状态
     * 如果一个套餐被起售，那么其关联的所有菜品都必须起售
     * @param status
     * @param ids
     */
    public void updateStatus(int status, List<Long> ids);

    /**
     * 删除套餐，同时删除套餐和菜品的关联信息
     * 需要操作 setmeal和setmeal_dish 两张表
     * @param ids
     */
    public void removeWithDish(List<Long> ids);

    /**
     * //根据id查询套餐息和关联菜品，需要操作两张表：setmeal、dish
     * @param id
     * @return
     */
    public SetmealDto getByIdWithDishes(Long id);

    /**
     * 修改套餐信息，同时修改setmeal、setmeal_dish两张表
     * @param setmealDto
     */
    public void updateByIdWithDishes(SetmealDto setmealDto);

}
